//package com.qzsoft.zhjd.asphalt.modules.menuTreeAll.service.impl;
//
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.qzsoft.system.modules.permission.dept.dao.SysDeptMapper;
//import com.qzsoft.system.modules.sysstation.entity.SysStationEntity;
//import com.qzsoft.system.modules.sysstation.mapper.SysStationMapper;
//import com.qzsoft.system.repository.sys.entity.SysDeptEntity;
//import com.qzsoft.zhjd.asphalt.modules.menuTreeAll.service.MenuTreeAllService;
//import com.qzsoft.zhjd.common.annotation.ZhjdDataFilter;
//import com.qzsoft.zhjd.monitoring.modules.storager.dao.StreamProxyMapper;
//import com.qzsoft.zhjd.monitoring.modules.streamProxy.dto.StreamProxyItem;
//import com.qzsoft.zhjd.monitoring.modules.utils.PathEnum;
//import org.apache.commons.lang3.ObjectUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.util.CollectionUtils;
//
//import java.util.*;
//import java.util.stream.Collectors;
//
//@Service
//public class MenuTreeAllServiceImpl implements MenuTreeAllService {
//    @Autowired
//    private SysDeptMapper deptMapper;
//    @Autowired
//    private SysStationMapper sysStationMapper;
//    @Autowired
//    private StreamProxyMapper streamProxyMapper;
//
//    /**
//     * 水稳拌和站菜单树
//     *
//     * @return
//     */
//    @ZhjdDataFilter(baseCode = "code")
//    @Override
//    public List<JSONObject> getWaterMenuTree(Map<String, Object> params) {
//        QueryWrapper<SysDeptEntity> queryWrapper1 = new QueryWrapper<SysDeptEntity>().eq("type", "3");
//        if(ObjectUtils.isNotEmpty(params.get(ZhjdDataFilter.DATA_FILTER_SQL))) {
//            queryWrapper1.apply(params.get(ZhjdDataFilter.DATA_FILTER_SQL).toString());
//        }
//        queryWrapper1.orderByAsc("serial");
//        // 获取所有type为3的数据为根目录
//        List<SysDeptEntity> deptEntityList = deptMapper.selectList(queryWrapper1);
//        return deptEntityList.stream().map(val -> {
//            JSONObject json = new JSONObject();
//            QueryWrapper<SysStationEntity> queryWrapper = new QueryWrapper<>();
//            queryWrapper.eq("base_code",val.getCode());
//            queryWrapper.eq("type","cement");// 水稳
//            json.put("pkid",val.getPkid());
//            json.put("id",val.getId());
//            json.put("name",val.getName());
//            json.put("has_leaf",false);
//            List<SysStationEntity> childres = sysStationMapper.selectList(queryWrapper);
//            if(!CollectionUtils.isEmpty(childres)){
//                json.put("has_leaf",true);
//            }
//            json.put("children",childres);
//            return json;
//        }).collect(Collectors.toList());
//    }
//
//    /**
//     * 获取水稳视频数据
//     * @param resourceId
//     * @return
//     */
//    @Override
//    public List<StreamProxyItem> getWaterPage(String resourceId) {
//        List<StreamProxyItem> streamProxyItems = streamProxyMapper.selectByPlatAndDeptId(resourceId, PathEnum.cement_monitoring.getName());
//        return streamProxyItems;
//    }
//
//    /**
//     * 沥青拌和站菜单树
//     * @param params
//     * @return
//     */
//    @ZhjdDataFilter(baseCode = "code")
//    @Override
//    public List<JSONObject> getAsphaltMenuTree(Map<String, Object> params) {
//        QueryWrapper<SysDeptEntity> QueryWrapper = new QueryWrapper<SysDeptEntity>().eq("type", "3");
//        if(ObjectUtils.isNotEmpty(params.get(ZhjdDataFilter.DATA_FILTER_SQL))) {
//            QueryWrapper.apply(params.get(ZhjdDataFilter.DATA_FILTER_SQL).toString());
//        }
//        QueryWrapper.orderByAsc("serial");
//        // 获取所有type为3的数据为根目录
//        List<SysDeptEntity> deptEntityList = deptMapper.selectList(QueryWrapper);
//        return deptEntityList.stream().map(val -> {
//            JSONObject json = new JSONObject();
//            QueryWrapper<SysStationEntity> queryWrapper = new QueryWrapper<>();
//            queryWrapper.eq("base_code",val.getCode());
//            queryWrapper.eq("type","asphalt");// 沥青
//            json.put("pkid",val.getPkid());
//            json.put("id",val.getId());
//            json.put("name",val.getName());
//            json.put("has_leaf",false);
//            List<SysStationEntity> childres = sysStationMapper.selectList(queryWrapper);
//            if(!CollectionUtils.isEmpty(childres)){
//                json.put("has_leaf",true);
//            }
//            json.put("children",childres);
//            return json;
//        }).collect(Collectors.toList());
//    }
//
//    /**
//     * 获取沥青视频数据
//     * @param resourceId
//     * @return
//     */
//    @Override
//    public List<StreamProxyItem> getAsphaltPage(String resourceId) {
//        List<StreamProxyItem> streamProxyItems = streamProxyMapper.selectByPlatAndDeptId(resourceId, PathEnum.asphalt_monitoring.getName());
//        return streamProxyItems;
//    }
//
//    @ZhjdDataFilter(baseCode = "code")
//    @Override
//    public List<JSONObject> getLaboratoryMenuTree(Map<String, Object> params) {
//        QueryWrapper<SysDeptEntity> queryWrapper = new QueryWrapper<SysDeptEntity>().eq("type", "3");
//        if(ObjectUtils.isNotEmpty(params.get(ZhjdDataFilter.DATA_FILTER_SQL))) {
//            queryWrapper.apply(params.get(ZhjdDataFilter.DATA_FILTER_SQL).toString());
//        }
//        queryWrapper.orderByAsc("serial");
//        // 获取所有type为3的数据为根目录
//        List<SysDeptEntity> deptEntityList = deptMapper.selectList(queryWrapper);
//        return deptEntityList.stream().map(val -> {
//            JSONObject json = new JSONObject();
//            json.put("id",val.getId());
//            json.put("deptId",val.getId());
//            json.put("deptPkid",val.getPkid());
//            json.put("name",val.getName());
//            json.put("has_leaf",false);
//            return json;
//        }).collect(Collectors.toList());
//    }
//
//    @Override
//    public List<StreamProxyItem> getLaboratoryPage(String resourceId) {
//        List<StreamProxyItem> streamProxyItems = streamProxyMapper.selectByPlatAndDeptId(resourceId, PathEnum.laboratory_monitoring.getName());
//        return streamProxyItems;
//    }
//
//}
